package com.carlinfo.demo.service;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.carlinfo.common.util.PageInfoUtil;
import com.carlinfo.demo.pojo.ADynasty;
import com.carlinfo.demo.pojo.AKing;

public interface IDemoService
{
	/*------朝代管理开始-------*/
	/**
	 * 保存一条朝代
	 * @param dynasty
	 * @return	此sql语句影响的条数
	 */
	JSONObject saveOneDynastyService(ADynasty dynasty);
	
	/**
	 * 更新一条朝代
	 * @param dynasty
	 * @return	此sql语句影响的条数
	 */
	JSONObject updateOneDynastyService(ADynasty dynasty);
	
	/**
	 * 删除记录
	 * @param condMap	key:sql语句中的条件对应的形参;val:实参
	 * @return	此sql语句影响的条数
	 */
	JSONObject deleteOneDynastyService(Map<String, Object> condMap);
	
	/**
	 * 查询一条记录
	 * ~需求:按照id查询
	 * ~按照name查询(name不能重复)
	 * @param condMap	key:sql语句中的条件对应的形参;val:实参
	 * @return	查询的朝代
	 */
	ADynasty selectOneDynastyService(Map<String, Object> condMap);
	
	/**
	 * 查询多条记录;条件更是五花八门
	 * @param condMap	key:sql语句中的条件对应的形参;val:实参
	 * @return	查询多条朝代
	 */
	List<ADynasty> selectListDynastyService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
	/*------朝代管理结束-------*/
	/*------皇上管理开始-------*/
	/**
	 * 保存一条黄上
	 * @param dynasty
	 * @return	此sql语句影响的条数
	 */
	JSONObject saveOneKingService(AKing dynasty);
	
	/**
	 * 更新一条黄上
	 * @param dynasty
	 * @return	此sql语句影响的条数
	 */
	JSONObject updateOneKingService(AKing dynasty);
	
	/**
	 * 删除记录
	 * @param condMap	key:sql语句中的条件对应的形参;val:实参
	 * @return	此sql语句影响的条数
	 */
	JSONObject deleteOneKingService(Map<String, Object> condMap);
	
	/**
	 * 查询一条记录
	 * ~需求:按照id查询
	 * ~按照name查询(name不能重复)
	 * @param condMap	key:sql语句中的条件对应的形参;val:实参
	 * @return	查询的黄上
	 */
	AKing selectOneKingService(Map<String, Object> condMap);
	
	/**
	 * 查询多条记录;条件更是五花八门
	 * @param condMap	key:sql语句中的条件对应的形参;val:实参
	 * @return	查询多条黄上
	 */
	List<AKing> selectListKingService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);
}
